import java.util.Random;
import java.util.Scanner;

//————————————————————————题目目录————————————————————————————
//1. 根据年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上)
//2. 判定一个数字是否是素数
//3. 打印 1 - 100 之间所有的素数
//4. 输出 1000 - 2000 之间所有的闰年
//5. 输出乘法口诀表
//6. 求两个正整数的最大公约数——辗转相除法
//7. 求出0～999之间的所有“水仙花数”并输出。
//8. 写一个函数返回参数二进制中 1 的个数
//9. 获取一个数二进制序列中所有的偶数位和奇数位，分别输出二进制序列
//10.猜数字游戏 (0~100)
//11.数字9 出现的次数
//12.计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值
//13.输出一个整数的每一位  （如：123的每一位是3，2，1）
//14.模拟登陆
     //编写代码模拟三次密码输入的场景。
     //最多能输入三次密码，密码正确，提示“登录成功”,密码错误，可以重新输入，最多输入三次。
     // 三次均错，则提示退出程序

//TIP 要<b>运行</b>代码，请按 <shortcut actionId="Run"/> 或
// 点击装订区域中的 <icon src="AllIcons.Actions.Execute"/> 图标。
public class Main {
    public static void main(String[] args) {

    /*    //1. 根据年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上)
        System.out.println("请输入你的年龄：");
        Scanner scan = new Scanner(System.in);
        int age = scan.nextInt();
        if(age<=18){
            System.out.println("少年");
        } else if (age>18 && age<=28) {
            System.out.println("青年");
        } else if (age>29 && age<=55) {
            System.out.println("中年");
        }else{
            System.out.println("老年");
        }*/

       /* //2. 判定一个数字是否是素数
        System.out.println("请输入一个数：");
        Scanner scan = new Scanner(System.in);
        int num = scan.nextInt();
        int i = 2;
        for (; i <=Math.sqrt(num) ; i++) {
            if(num%i =5=0)
            {
                System.out.println(num+"不是素数");
                break;
            }
        }
        if(i>Math.sqrt(num))
        {
            System.out.println(num + "是素数");
        }*/

    /*    //3. 打印 1 - 100 之间所有的素数
        for (int i = 1; i <= 100 ; i++) {
            if(i == 1 || i == 2)
            {
                System.out.println(i+"是素数");
            }
            int j = 2;
            for(;j<=Math.sqrt(i);j++)
            {
                if(i%j==0)
                {

                    break;
                }
            }
            if(j>Math.sqrt(i)){
                System.out.println(i+"是素数");
            }

        }*/

    /*   //4. 输出 1000 - 2000 之间所有的闰年
        int i = 1000;
        for(;i<=2000;i++)
        {
            if(i%100 !=0 && i % 4 ==0)
            {
                System.out.println(i + "是闰年");
            }
            else if(i%400 == 0){
                System.out.println(i + "是闰年");
            }
        }*/

       /* //5. 输出乘法口诀表
        for (int i = 1; i <= 9 ; i++) {
            for (int j = 1; j <= i ; j++) {
                System.out.printf("%d*%d=%-4d",j,i,i*j);

            }
            System.out.printf("\n");
        }*/

    /*    //6. 求两个正整数的最大公约数——辗转相除法
        Scanner scan = new Scanner(System.in);
        int a = scan.nextInt();
        int b = scan.nextInt();
        int c = 0;
        while (true){
            c = a % b;
            if(c!=0){
                a=b;
                b=c;
            }else{
                break;
            }
        }
        System.out.println(b);*/

        /*//7. 求出0～999之间的所有“水仙花数”并输出。(“水仙花数”是指一个三位数，其各位数字的立方和确好等于该数
        //本身，如： 153＝1^3＋5^3＋3^3 ，则153是一个“水仙花数”。)
        for (int i = 1; i <=999 ; i++) {
            int count = 0;
            int tmp = i;
            int sum = 0;
            while(tmp!=0){
                tmp /= 10;
                count++;

            }
            tmp = i;
            while(tmp!=0){
                sum += Math.pow(tmp%10,3);
                tmp /=10;
            }
            if(sum==i){
                System.out.println(i+"是水仙花数");
            }
        }*/


        /*//8. 写一个函数返回参数二进制中 1 的个数
        //比如： 15 0000 1111 4 个 1
        //n&(n-1)  每模一次，二进制最右边的1消失一个
        System.out.println("请输入一个数");
        Scanner scan = new Scanner(System.in);
        int a = scan.nextInt();
        int count = 0;
        int tmp = a;
        while(a!=0){
            a = a&(a-1);
            count++;
        }
        System.out.println(tmp+"的二进制中有"+count+"个1");*/

        /*//9. 获取一个数二进制序列中所有的偶数位和奇数位，分别输出二进制序列
        //设这两个数为 m 和 n
        //m ^ n   得到的数上的二进制含1的就是这两数不同的位（设这个得到的数为a)
        //a & (a-1)  统计a上1的个数
        int m = 7;
        int n = 15;
        int a = m ^ n;
        int count = 0;
        while(a!=0)
        {
            a &=(a-1);
            count ++;
        }
        System.out.println(count);*/

        /*//10.猜数字游戏 (0~100)
        Random random = new Random();
        Scanner scanner = new Scanner(System.in);
        int rand = random.nextInt(100);

        while(true)
        {
            System.out.println("请输入你猜测的数字：");
            int a = scanner.nextInt();
            if(a>rand)
            {
                System.out.println("猜大了");

            } else if (a==rand) {
                System.out.println("nb!!!");
                break;
            }else{
                System.out.println("猜小了");
            }
        }*/


       /*//11.数字9 出现的次数
        //编写程序数一下 1到 100 的所有整数中出现多少个数字9
        //1-100数字中出现过9的数字如下（99中出现过9两次）：
        //
        //9 19 29 39 49 59 69 79 89
        //90 91 92 93 94 95 96 97 98 99
        int count=0;
        for(int i=9;i<=99;i++)
        {
            //下面这个做法是错的！算出答案有20个，多算了个99！！
            *//*if(i %10 == 9)
                count++;
            if(i /10 == 9)
                count ++;*//*
            //正确如下：
            if(i / 10 ==9)
            {
                count++;
            } else if (i % 10 == 9) {
                count ++;
            }

        }
        System.out.println(count);*/

       /* //12.计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值
        double sum=0;
        int flag=1;
        for(int i= 1;i<=100;i++)
        {
            sum += flag*(1.0/i);
            flag = -flag;
           *//* if (i % 2 == 1) //
            {
                sum += 1.0 / i;
            } else if (i % 2 == 0) {
                sum -= 1.0 / i;
            }*//*

        }
        System.out.println(sum);*/

        /*//13.输出一个整数的每一位
        //如：123的每一位是3，2，1
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        while(n!=0)
        {
            System.out.println((n%10));
            n /=10;
        }*/

        /*//14.模拟登陆
        //编写代码模拟三次密码输入的场景。
        //最多能输入三次密码，密码正确，提示“登录成功”,密码错误，可以重新输入，最多输入三次。
        // 三次均错，则提示退出程序
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入密码：");
        String a = scan.nextLine();
        String b ="123456";
        int flag= 0;
        int count =2;
        while(count!=0)
        {
            if(a.equals(b)){
                System.out.println("登录成功！");
                flag=1;
                break;
            }else{
                count--;
                System.out.println("请再次输入");
                a = scan.nextLine();
            }
        }
        if(flag==0){
            System.out.println("密码错误三次，退出程序！");
        }
*/
    }
}